<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
        <head>
          <title>scalation.math</title>
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      <link type="text/css" media="screen" rel="stylesheet" href="../../lib/template.css" />
      <script type="text/javascript" src="../../lib/jquery.js"></script>
      <script type="text/javascript" src="../../lib/jquery-ui.js"></script>
      <script type="text/javascript" src="../../lib/template.js"></script>
      <script type="text/javascript" src="../../lib/tools.tooltip.js"></script>
    
        </head>
        <body class="value">
      <div id="definition">
        <img src="../../lib/package_big.png" />
        <p id="owner"><a name="scalation" class="extype" href="../package.html">scalation</a></p>
        <h1>math</h1>
      </div>

      <h4 class="signature" id="signature">
      <span class="kind">package</span>
      <span class="symbol"> 
        <span class="name">math</span>
        
        
      </span>
      </h4>
      
          <div class="fullcommenttop" id="comment"></div>
        

      <div id="template">

        <div id="mbrsel">
          <div id="textfilter"><span class="pre"></span><span class="input"><input accesskey="/" type="text" /></span><span class="post"></span></div>
          
          
          <div id="visbl">
              <span class="filtertype">Visibility</span>
              <ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
            </div>
        </div>

        

        <div class="types members" id="types">
              <h3>Type Members</h3>
              <ol><li visbl="pub" name="scalation.math.Combinatorics" data-isabs="true">
      <a id="Combinatorics:Combinatorics"></a>
      <h4 class="signature">
      <span class="kind">trait</span>
      <span class="symbol"> 
        <a href="Combinatorics.html"><span class="name">Combinatorics</span></a>
        
        <span class="result"> extends Error</span>
      </span>
      </h4>
      <p class="comment cmt">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This trait provides several common combinatorics functions.</p>
    </li><li visbl="pub" name="scalation.math.Complex" data-isabs="false">
      <a id="Complex:Complex"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="Complex.html"><span class="name">Complex</span></a>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      <p class="comment cmt">This class is used to represent complex numbers (a + bi) as (a, b), e.</p>
    </li><li visbl="pub" name="scalation.math.DoubleWithExp" data-isabs="false">
      <a id="DoubleWithExp:DoubleWithExp"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol"> 
        <a href="DoubleWithExp.html"><span class="name">DoubleWithExp</span></a>
        
        <span class="params">(<span name="x">x: Double</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      <p class="comment cmt">This class defines an expontiation operator '~^' for Doubles.</p>
    </li><li visbl="pub" name="scalation.math.Eigenvalue" data-isabs="false">
      <a id="Eigenvalue:Eigenvalue"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="Eigenvalue.html"><span class="name">Eigenvalue</span></a>
        
        <span class="result"> extends Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This class is used to find the eigenvalues of an n by n matrix 'a' using an
iterative technique that applies similarity transformations to convert 'a' into
an upper triangular matrix, so that the eigenvalues appear along the diagonal.</p>
    </li><li visbl="pub" name="scalation.math.EigenvalueSym" data-isabs="false">
      <a id="EigenvalueSym:EigenvalueSym"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="EigenvalueSym.html"><span class="name">EigenvalueSym</span></a>
        
        <span class="result"> extends Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This class is used to find the eigenvalues of an n by n symmetric matrix 'a'
using an iterative technique, the Symmetric QR Algorithm.</p>
    </li><li visbl="pub" name="scalation.math.Eigenvector" data-isabs="false">
      <a id="Eigenvector:Eigenvector"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="Eigenvector.html"><span class="name">Eigenvector</span></a>
        
        <span class="result"> extends Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This class is used to find the eigenvectors of an n by n matrix 'a' by solving
equations of the form (a - eI)v = 0 where e is the eigenvalue and v is the
eigenvector.</p>
    </li><li visbl="pub" name="scalation.math.Hessenburg" data-isabs="false">
      <a id="Hessenburg:Hessenburg"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="Hessenburg.html"><span class="name">Hessenburg</span></a>
        
        <span class="result"> extends Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This class is used to reduce, via similarity transformations, an n by n matrix
'a' to Hessenburg form 'h', where all elements two below the main diagonal are
zero (or close to zero).</p>
    </li><li visbl="pub" name="scalation.math.Householder" data-isabs="false">
      <a id="Householder:Householder"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="Householder.html"><span class="name">Householder</span></a>
        
        <span class="result"> extends Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::</p>
    </li><li visbl="pub" name="scalation.math.IntWithExp" data-isabs="false">
      <a id="IntWithExp:IntWithExp"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol"> 
        <a href="IntWithExp.html"><span class="name">IntWithExp</span></a>
        
        <span class="params">(<span name="x">x: Int</span>)</span><span class="result"> extends Product with Serializable</span>
      </span>
      </h4>
      <p class="comment cmt">This class defines an expontiation operator '~^' for Ints.</p>
    </li><li visbl="pub" name="scalation.math.Matrix" data-isabs="true">
      <a id="Matrix:Matrix[T]"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="Matrix.html"><span class="name">Matrix</span></a>
        <span class="tparams">[<span name="T">T</span>]</span>
        <span class="result"> extends Error</span>
      </span>
      </h4>
      <p class="comment cmt">The Matrix class is abstract and defines the operations to be defined by three
 concrete subclasses: MatrixN, SparseMatrixN and SymTriMatrix.</p>
    </li><li visbl="pub" name="scalation.math.MatrixN" data-isabs="false">
      <a id="MatrixN:MatrixN[T]"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="MatrixN.html"><span class="name">MatrixN</span></a>
        <span class="tparams">[<span name="T">T</span>]</span>
        <span class="result"> extends Matrix[T] with Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
The MatrixN class stores and operates on Numeric Matrices of various sizes
and types.</p>
    </li><li visbl="pub" name="scalation.math.ProbNumber" data-isabs="false">
      <a id="ProbNumber:ProbNumber"></a>
      <h4 class="signature">
      <span class="kind">case class</span>
      <span class="symbol"> 
        <a href="ProbNumber.html"><span class="name">ProbNumber</span></a>
        
        <span class="params">(<span name="x">x: Double</span>, <span name="p">p: Double</span>)</span><span class="result"> extends Numeric[ProbNumber] with Ordered[ProbNumber] with Error with Product with Serializable</span>
      </span>
      </h4>
      <p class="comment cmt">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This class is used to represent probabilistic numbers (x, p) where x is a
a real number and p is its probability of occurrence.</p>
    </li><li visbl="pub" name="scalation.math.QRdecomposition" data-isabs="false">
      <a id="QRdecomposition:QRdecomposition"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="QRdecomposition.html"><span class="name">QRdecomposition</span></a>
        
        <span class="result"> extends Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This class is used to decompose an m by n matrix 'a' into an orthogonal m by n
matrix 'q' and an n by n right upper triangular matrix 'r' such that a = q * r.</p>
    </li><li visbl="pub" name="scalation.math.SparseMatrixN" data-isabs="false">
      <a id="SparseMatrixN:SparseMatrixN[T]"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="SparseMatrixN.html"><span class="name">SparseMatrixN</span></a>
        <span class="tparams">[<span name="T">T</span>]</span>
        <span class="result"> extends Matrix[T] with Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
The SparseMatrixN class stores and operates on Numeric Matrices of various
sizes and types.</p>
    </li><li visbl="pub" name="scalation.math.SymTriMatrixN" data-isabs="false">
      <a id="SymTriMatrixN:SymTriMatrixN[T]"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="SymTriMatrixN.html"><span class="name">SymTriMatrixN</span></a>
        <span class="tparams">[<span name="T">T</span>]</span>
        <span class="result"> extends Matrix[T] with Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
The SymTriMatrixN class stores and operates on symmetric tridiagonal matrices.</p>
    </li><li visbl="pub" name="scalation.math.SymmetricQRstep" data-isabs="false">
      <a id="SymmetricQRstep:SymmetricQRstep"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="SymmetricQRstep.html"><span class="name">SymmetricQRstep</span></a>
        
        <span class="result"> extends Error</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This class performs a symmetric QR step with a Wilkinson shift.</p>
    </li><li visbl="pub" name="scalation.math.VectorN" data-isabs="false">
      <a id="VectorN:VectorN[T]"></a>
      <h4 class="signature">
      <span class="kind">class</span>
      <span class="symbol"> 
        <a href="VectorN.html"><span class="name">VectorN</span></a>
        <span class="tparams">[<span name="T">T</span>]</span>
        <span class="result"> extends PartiallyOrdered[VectorN[T]] with Error</span>
      </span>
      </h4>
      <p class="comment cmt">The VectorN class stores and operates on Numeric Vectors of various sizes
 and types.</p>
    </li></ol>
            </div>
        
        

        <div class="values members" id="values">
              <h3>Value Members</h3>
              <ol><li visbl="pub" name="scalation.math.Calculus" data-isabs="false">
      <a id="Calculus:Calculus"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="Calculus$.html"><span class="name">Calculus</span></a>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      <p class="comment cmt">This object contains function for computing derivatives.</p>
    </li><li visbl="pub" name="scalation.math.CalculusTest" data-isabs="false">
      <a id="CalculusTest:CalculusTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="CalculusTest$.html"><span class="name">CalculusTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">This object is used to test the Calculus object.</p>
    </li><li visbl="pub" name="scalation.math.CombinatoricsTest" data-isabs="false">
      <a id="CombinatoricsTest:CombinatoricsTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="CombinatoricsTest$.html"><span class="name">CombinatoricsTest</span></a>
        
        <span class="result"> extends App with Combinatorics</span>
      </span>
      </h4>
      <p class="comment cmt">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This objects test the methods in the Combinatorics trait.</p>
    </li><li visbl="pub" name="scalation.math.ComplexTest" data-isabs="false">
      <a id="ComplexTest:ComplexTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="ComplexTest$.html"><span class="name">ComplexTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">This object is used to test the Complex class.</p>
    </li><li visbl="pub" name="scalation.math.DoubleWithExp" data-isabs="false">
      <a id="DoubleWithExp:DoubleWithExp"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="DoubleWithExp$.html"><span class="name">DoubleWithExp</span></a>
        
        <span class="result"> extends Serializable</span>
      </span>
      </h4>
      <p class="comment cmt">Implicit conversion from Double to DoubleWithExp allowing '~^' to be applied
 to Doubles.
</p>
    </li><li visbl="pub" name="scalation.math.DoubleWithExpTest" data-isabs="false">
      <a id="DoubleWithExpTest:DoubleWithExpTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="DoubleWithExpTest$.html"><span class="name">DoubleWithExpTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">This object is used to test DoubleWithExp.</p>
    </li><li visbl="pub" name="scalation.math.EigenTest" data-isabs="false">
      <a id="EigenTest:EigenTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="EigenTest$.html"><span class="name">EigenTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This object is used to test the all the classes used in computing Eigenvalues
and Eigenvectors for the non-symmetric/general case.</p>
    </li><li visbl="pub" name="scalation.math.EigenTest2" data-isabs="false">
      <a id="EigenTest2:EigenTest2"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="EigenTest2$.html"><span class="name">EigenTest2</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This object is used to test the all the classes used in computing Eigenvalues
and Eigenvectors for the symmetric/special case.</p>
    </li><li visbl="pub" name="scalation.math.IntWithExp" data-isabs="false">
      <a id="IntWithExp:IntWithExp"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="IntWithExp$.html"><span class="name">IntWithExp</span></a>
        
        <span class="result"> extends Serializable</span>
      </span>
      </h4>
      <p class="comment cmt">Implicit conversion from Int to IntWithExp allowing '~^' to be applied
 to Ints.
</p>
    </li><li visbl="pub" name="scalation.math.IntWithExpTest" data-isabs="false">
      <a id="IntWithExpTest:IntWithExpTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="IntWithExpTest$.html"><span class="name">IntWithExpTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">This object is used to test IntWithExp.</p>
    </li><li visbl="pub" name="scalation.math.Matrices" data-isabs="false">
      <a id="Matrices:Matrices"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="Matrices$.html"><span class="name">Matrices</span></a>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      <p class="comment cmt">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Convenience definitions for commonly used types of matrices.</p>
    </li><li visbl="pub" name="scalation.math.MatrixNTest" data-isabs="false">
      <a id="MatrixNTest:MatrixNTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="MatrixNTest$.html"><span class="name">MatrixNTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
The MatrixN object tests the operations provided by MatrixN.</p>
    </li><li visbl="pub" name="scalation.math.Primes" data-isabs="false">
      <a id="Primes:Primes"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="Primes$.html"><span class="name">Primes</span></a>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      <p class="comment cmt">This object provides an array of 1000 prime numbers as well as methods to
 generate prime numbers within a given range.</p>
    </li><li visbl="pub" name="scalation.math.PrimesTest" data-isabs="false">
      <a id="PrimesTest:PrimesTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="PrimesTest$.html"><span class="name">PrimesTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">This object is use to perform timing test on the Primes object.</p>
    </li><li visbl="pub" name="scalation.math.ProbNumberTest" data-isabs="false">
      <a id="ProbNumberTest:ProbNumberTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="ProbNumberTest$.html"><span class="name">ProbNumberTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This object is used to test the ProbNumber class.</p>
    </li><li visbl="pub" name="scalation.math.SparseMatrices" data-isabs="false">
      <a id="SparseMatrices:SparseMatrices"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="SparseMatrices$.html"><span class="name">SparseMatrices</span></a>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      <p class="comment cmt">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Convenience definitions for commonly used types of sparse matrices.</p>
    </li><li visbl="pub" name="scalation.math.SparseMatrixNTest" data-isabs="false">
      <a id="SparseMatrixNTest:SparseMatrixNTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="SparseMatrixNTest$.html"><span class="name">SparseMatrixNTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This object is used to test the SparseMatrixN class.</p>
    </li><li visbl="pub" name="scalation.math.SymTriMatrices" data-isabs="false">
      <a id="SymTriMatrices:SymTriMatrices"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="SymTriMatrices$.html"><span class="name">SymTriMatrices</span></a>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      <p class="comment cmt">::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Convenience definitions for commonly used types of symmetric tridiagonal matrices.</p>
    </li><li visbl="pub" name="scalation.math.SymTriMatrixNtest" data-isabs="false">
      <a id="SymTriMatrixNtest:SymTriMatrixNtest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="SymTriMatrixNtest$.html"><span class="name">SymTriMatrixNtest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
This object is used to test the SymTriMatrixN class.</p>
    </li><li visbl="pub" name="scalation.math.SymmetricQRstep" data-isabs="false">
      <a id="SymmetricQRstep:SymmetricQRstep"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="SymmetricQRstep$.html"><span class="name">SymmetricQRstep</span></a>
        
        <span class="result"> extends Error</span>
      </span>
      </h4>
      
    </li><li visbl="pub" name="scalation.math.VectorNTest" data-isabs="false">
      <a id="VectorNTest:VectorNTest"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="VectorNTest$.html"><span class="name">VectorNTest</span></a>
        
        <span class="result"> extends App</span>
      </span>
      </h4>
      <p class="comment cmt">The VectorNTest object tests the operations provided by VectorN.</p>
    </li><li visbl="pub" name="scalation.math.Vectors" data-isabs="false">
      <a id="Vectors:Vectors"></a>
      <h4 class="signature">
      <span class="kind">object</span>
      <span class="symbol"> 
        <a href="Vectors$.html"><span class="name">Vectors</span></a>
        
        <span class="result"> extends AnyRef</span>
      </span>
      </h4>
      <p class="comment cmt">Convenience definitions for commonly used types of vectors.</p>
    </li></ol>
            </div>

        

      </div>
      
      <div id="tooltip"></div>
      
    </body>
      </html>